﻿using System.Reflection;
using Comm100.Framework.Module;
using Comm100.Framework.Extension;
using Bot.Domain;
using Comm100.Public.Enum;

namespace Bot.Application
{
    [DependsOn(typeof(BotDomainModule))]
    public class BotApplicationModule : BaseApplicationModule
    {
        public BotApplicationModule()
            : base(ApplicationTypes.Bot.ToString())
        {
            
        }

        public override void PreInitialize()
        {
            this.Container.RegisterIfNot<ICategoryVerifyDataManager, CategoryVerifyDataManager>(DependencyLifeStyle.Transient);
            this.Container.RegisterIfNot<IBotVerifyDataManager, BotVerifyDataManager>(DependencyLifeStyle.Transient);
            this.Container.RegisterIfNot<IIntentVerifyDataManager, IntentVerifyDataManager>(DependencyLifeStyle.Transient);
            this.Container.RegisterIfNot<IQuickReplyVerifyDataManager, QuickReplyVerifyDataManager>(DependencyLifeStyle.Transient);
            this.Container.RegisterIfNot<IQuickReplyItemVerifyDataManager, QuickReplyItemVerifyDataManager>(DependencyLifeStyle.Transient);
            
        }
    }
}
